﻿using MotorLibrary.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MotorLibrary.DAL
{
    public class MotorDbInitializer : CreateDatabaseIfNotExists<MotorDbContext>
    {
        protected override void Seed(MotorDbContext context)
        {
            Tipo tipoFichero = context.Tipos.Add(new Tipo() { ID = 1, Nombre = "Fichero" });
            Tipo tipoHttp = context.Tipos.Add(new Tipo() { ID = 2, Nombre = "HTTP" });
            context.SaveChanges();

            context.Endpoints.Add(new Endpoint() { Tipo = tipoFichero, Nombre = "Endpoint Fichero 1", Ruta = "R:\\Varios\\equipos\\Equipo02\\Remoto\\test.txt", Procesar = false });
            context.Endpoints.Add(new Endpoint() { Tipo = tipoFichero, Nombre = "Endpoint Fichero 2", Ruta = "file:///remoto/informe2.pdf", Procesar = false });

            context.Endpoints.Add(new Endpoint() { Tipo = tipoHttp, Nombre = "Endpoint Http 1", Ruta = "http://www.realoviedo.es/img/logo.png", Procesar = false });
            Endpoint jsonEndpoint = context.Endpoints.Add(new Endpoint() { Tipo = tipoFichero, Nombre = "Endpoint JSON", Ruta = "R:\\Varios\\equipos\\Equipo02\\Remoto\\procesame.json", Procesar = true });
            Endpoint jsonHttpEndpoint = context.Endpoints.Add(new Endpoint() { Tipo = tipoHttp, Nombre = "Endpoint JSON HTTP", Ruta = "https://raw.githubusercontent.com/noeldiazro/cic-motor-integracion/master/procesame-por-http.json", Procesar = true });
            context.SaveChanges();

            context.Variables.Add(new Variable() { Endpoint = jsonEndpoint, Nombre = "Nombre" });
            context.Variables.Add(new Variable() { Endpoint = jsonEndpoint, Nombre = "Apellido" });
            context.Variables.Add(new Variable() { Endpoint = jsonEndpoint, Nombre = "FechaDeNacimiento" });
            context.Variables.Add(new Variable() { Endpoint = jsonHttpEndpoint, Nombre = "Nombre" });
            context.Variables.Add(new Variable() { Endpoint = jsonHttpEndpoint, Nombre = "Apellido" });
            context.Variables.Add(new Variable() { Endpoint = jsonHttpEndpoint, Nombre = "Edad" });
            context.SaveChanges();
        }
    }
}
